#ifndef DECODE_BASE_DEFINE_H
#define DECODE_BASE_DEFINE_H



#include <string>
#include "Data/FileContextWrapper.h" // 引入AVFormatContextWrapper类，如果需要

class Decoder {
public:
    // 构造函数
    Decoder();

    // 析构函数
    ~Decoder();

    // 根据音频或视频流的索引打开解码器
    // 参数: stream_index - 音频或视频流的索引
    // 返回: 成功打开解码器时返回true，否则返回false
    bool open_decoder_for_stream(int stream_index);

    // 解码音频或视频数据
    // 参数: input_packet - 输入的AVPacket数据
    // 返回: 解码成功时返回true，否则返回false
    bool decode(const AVPacket &input_packet);

    // 关闭解码器
    void close_decoder();

private:
    // 用于存储解码器上下文的指针
    AVCodecContext *codec_ctx_;

    // 其他私有成员变量或方法
};



#endif // DECODE_BASE_DEFINE_H
